Computer systems typically utilize a layered approach for implementing functionalities relating to communications frameworks where a protocol layer processes different portions of data traveling from a sender to a receiver. A disadvantage to the layered approach is that it requires examination of data by each layer to determine if any work needs to be performed by that layer before sending the data or packet to the next layer. This examination process requires computer instructions and data to be read and processed by the central processing unit(s) (CPU), consuming CPU cycles and therefore time. For many cases, a given layer of processing may not be needed. Thus, a strictly layered approach to a communication framework may be a high cost approach to data processing for communication of individual packets.